package com.ruifu.doc.vo.docver;

import com.ruifu.doc.vo.docmaster.DmDocMasterVO;
import com.ruifu.doc.vo.file.DmFileVO;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

@Data
public class DmDocVerVO implements Serializable {
    /**
     * 版本id
     */
    private Long dvDvId;
    /**
     * 所有人
     */
    private Integer dvOwner;
    /**
     * 最后修改人
     */
    private Integer dvLastUpdator;
    /**
     * 创建者id
     */
    private Integer dvCreator;
    /**
     * 版本外部标示号
     */
    private String dvVerLabel;
    /**
     * 版本内部标示号
     */
    private Integer dvInNerver;
    /**
     * 状态 0 未发布 1已发布 2已作废
     */
    private Integer dvCtrStatus;
    /**
     * 状态字符串 0 未发布 1已发布 2已作废
     */
    private String dvCtrStatusStr;
    /**
     * 生命周期状态
     */
    private String dvLcyStatus;
    /**
     * 备注
     */
    private String dvRemark;
    /**
     * 文件ID
     */
    private Long dvFileId;

    /**
     * 签入签出状态
     */
    private Boolean dvCheckStatus;

    /**
     * 扩展属性集
     */
    private String dvPropSets;
    /**
     * 级别
     */
    private Integer dvDocLevel;
    /**
     * 是否在流程中
     */
    private Boolean dvIsFlow;
    /**
     * 权限码
     */
    private String permissionByUserIdAndPtId;

    /**
     * 发布时间
     */
    private Date dvApprovedDate;
    /**
     * 作废时间
     */
    private Date dvCancelDate;
    /**
     * 创建日期
     */
    private Date dvCreDate;
    /**
     * 最后修改日期
     */
    private Date dvLastUpdate;
    /**
     * 文档对象
     */
    private DmDocMasterVO dmDocMaster;

    /**
     * 文件对象
     */
    private DmFileVO dmFile;


    public String getDvCtrStatusStr() {
        switch (dvCtrStatus) {
            case 0:
                dvCtrStatusStr = "编辑中";
                break;
            case 1:
                dvCtrStatusStr = "已发布";
                break;
            case 2:
                dvCtrStatusStr = "已作废";
                break;
            case 3:
                dvCtrStatusStr = "流程中";
                break;
            default:
                dvCtrStatusStr = "";
        }
        return dvCtrStatusStr;
    }
}
